<?php
namespace app\task;

use think\facade\Log;
use think\queue\Job;

class TestTask
{
    /**
     * 任务执行方法
     * @param Job $job 任务对象
     * @param array $data 任务数据
     */
    public function fire(Job $job, array $data)
    {
        //命令行执行 php think queue:listen
        //命令行执行 php think queue:work
        //php think queue:work --once
        // 任务逻辑
        echo "开始处理任务，任务数据：" . json_encode($data) . "\n";

        // 模拟任务处理
        sleep(5);

        // 任务完成
        echo "任务处理完成\n";
        Log::info("异步任务处理完成ok".json_encode($data));
        // 删除任务
        $job->delete();
    }
}